运算符优先级的更新

现在要考虑更多的运算符,所以应更新第3章中的运算符优先级表,把它们包括在内,如表 4-12 所示。

表4-12 运算符优先级

优先级 运算符
优 ++,--(用作前缀);+,-(一元),!,~
*, /, %
先 +,-
<<,>>
级 <,>,<=,>=
==,!=
由 &
^
高 |
&&
到 ||
=,*=,/=,%=,+=,-=,<<=,>>=,&=,^=
低 ++,--(用作后缀)

  该表增加了好几个级别,但它明确定义了下述表达式该如何计算:

        var1 = var2 <= 4 && var2 >= 2;

  其中 && 运算符在 <= 和 >= 运算符之后执行(在这行代码中,var2 是一个 int 值)。

  这里要注意 ⚠️ 的是,添加括号可以使这样的表达式看起来更清晰。编译器知道用什么顺序执行运算符,但人们常会忘记这个顺序(有时可能想改变这个顺序)。上述表达式也可以写为:

        var1 = (var2 <= 4) && (var2 >= 2);

  通过明确指定计算的顺序就解决了这个问题。

🔚